基于「Express」和「XTemplate」开发的前后端同构框架,支持:
- 把HTML及其引用的JS、CSS封装成模块,便于整体调用;
- 对静态资源进行预处理;
- 模板以及JS的前后端同构。
此外,还配备对应的构建工具「Back2Front-CLI」。
本框架具备良好的兼容性(IE≥6、Node.js≥6.5.0),先后应用于美黛拉Web端产品、贝聊Web端产品。
精通Javascript。编写过DOM与AJAX的类库、CMD模块加载器;以ES3实现过Promise;熟悉正则表达式;有Vue.js、微信小程序项目经验。
有扎实的HTML和CSS功底,熟悉流式布局和弹性盒子布局,能处理PC和移动端各主流浏览器的兼容问题。
熟悉Node.js,开发过多个Web应用(基于Express)和命令行工具。
掌握MySQL、SQLite等数据库的使用,能熟练设计中小规模应用的数据库。
能使用Photoshop进行简单的图片处理和平面设计。
前端经理
主要负责前端基础架构建设:
此外,还承担团队管理工作(3名下属),包括任务分配、人员培养、工作汇报等。
2018年2月获“二〇一七年度最佳员工奖”。
高级前端开发工程师
前端技术负责人。使用Node.js搭建中间平台(「Back2Front」框架的雏形)实现前后端分离,并在此基础上开发美黛拉手机站和PC站;后期在部分数据交互较多的页面中使用了「Vue.js」。
因公司业务重心的调整而离职。
高级前端开发工程师
基于「JRaiser」对业务JS进行模块化重构,并负责视频上传、播放等核心业务。此外,还作为内部讲师分享了技术原理和开发经验,并组织团队成员轮流分享。
因公司被搜狐收购后,要长期应付对自身没有太大提升的整合对接工作而离职。
前端开发工程师
主要负责外包网站的开发和维护,偶尔也为业务系统开发团队提供前端协助。
因平台小、工作技术含量低而离职。
ASP.NET/前端开发工程师
前期作为ASP.NET工程师参与了内部流量统计系统和手机门户网站的开发;后期回到前端岗位,负责Hybrid App的开发。
因上班路程较远、加班太多而离职。
页面工程师
第一份正职工作,初期只负责专题页面的制作。后来转为负责JS开发,编写了基础库与UI组件,并负责网易跟贴和内部CMS等重要项目。
因网站部搬迁到北京而离职。
ASP技术员(实习)
大三暑假时的实习工作。前期负责动网论坛功能定制业务,后期参与了JScript版动网论坛的开发。
实习三个月后离职。
2015/4 至今
基于「Express」和「XTemplate」开发的前后端同构框架,支持:
此外,还配备对应的构建工具「Back2Front-CLI」。
本框架具备良好的兼容性(IE≥6、Node.js≥6.5.0),先后应用于美黛拉Web端产品、贝聊Web端产品。
2012/6 至今
基于CMD规范的模块化类库,包含加载器和一些通用性强的基础模块(DOM、AJAX、Cookie、Promise等)、UI组件(拖动、分页条、月历等)。此外还有配套的CLI工具,可用于构建代码和生成API文档。
后来又把加载器拆分为「Bowl.js」项目,CLI工具也拆分为「Bowljs-CLI」。
本类库先后应用于56网、美黛拉Web端产品和贝聊Web端产品。
2018/1 至 2018/4
基于「Wepy」框架开发的微信小程序,主要功能包括:
由于「Wepy」不够成熟,小程序的textarea组件也有一些bug,导致开发过程不太顺利。
2015/4 至 2016/11
兼容主流Webkit内核浏览器,使用REM单位适配不同尺寸的屏幕。核心页面包括:
2015/1 至今
2013/3 至 2015/2
通过XMLHttpRequest 2.0实现支持PC现代浏览器、移动浏览器的视频上传,且能实时显示上传进度和速度。
后来进一步改良为断点续传,通过File类的slice方法把文件分块上传,并把上传进度记录在localStorage中。一旦上传中断,短时间内再上传同一个文件可以续传。
2012/11 至 2015/2
用户观看视频的主页面。因为页面有CDN缓存,所以大部分内容模块都在前端加载数据后渲染。为了提高性能,采用了延迟加载、延迟渲染、事件代理等优化方式。
此外,还通过监听「window.onerror」对异常信息进行采集,以便及时发现和排查故障。
2014/10 至今
分析浏览器user agent的程序包,能识别出浏览器、浏览器核心、操作系统和设备品牌,识别方式主要是正则表达式匹配。开发过程中通过56网流量统计系统收集到的大量日志不断提高匹配度。
用于56网内部user agent分析统计。
2010/1 至 2010/10
为网易门户网站常规专题制作而开发的辅助系统,可以在所见即所得的界面中,通过组合模块快速创建专题页面。
系统中的每个模块有两套模板:前端模板(Micro-Templating)与后端模板(Velocity)。前者用于在编辑界面中渲染HTML,实现所见即所得;后者才是真正生成的代码。
专题页面的布局与模块组合形式以JSON格式存储,并以模板注释的形式保存在最终生成的页面代码中,以便下次编辑时直接加载。
2009/2 至 2010/9
为提高代码可维护性,重写网易跟贴的前端代码,实现前后端分离(前端渲染,模板引擎为「Micro-Templating」);完成重构后,也负责此项目的功能迭代。